package com.lingo.mgr.domain.bo;

import com.lingo.common.core.domain.BaseEntity;
import com.lingo.common.core.validate.AddGroup;
import com.lingo.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 对话记录业务对象 chat_session_record
 *
 * @author ruoyi
 * @date 2023-08-30
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class ChatSessionRecordBo extends BaseEntity {

    /**
     * 消息记录id
     */
    @NotBlank(message = "消息记录id不能为空", groups = { EditGroup.class })
    private Long sessionRecordId;

    /**
     * 聊天消息id
     */
    @NotBlank(message = "聊天消息id不能为空", groups = { AddGroup.class, EditGroup.class })
    private String sessionId;

    /**
     * 用户userId
     */
    @NotNull(message = "用户userId不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long userId;

    /**
     * 对话提问
     */
    @NotBlank(message = "对话提问不能为空", groups = { AddGroup.class, EditGroup.class })
    private String messageQuestion;

    /**
     * 对话答案
     */
    @NotBlank(message = "对话答案不能为空", groups = { AddGroup.class, EditGroup.class })
    private String messageAnswer;

    /**
     * 对话状态 1-生成中 2-成功 3-失败
     */
    @NotNull(message = "对话状态 1-生成中 2-成功 3-失败不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long answerResult;

    /**
     * 调用ip
     */
    @NotBlank(message = "调用ip不能为空", groups = { AddGroup.class, EditGroup.class })
    private String createIp;


}
